﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Practices.Composite.Modularity;
using Microsoft.Practices.Unity;
using Scoreboard.Interfaces;
using Scoreboard.Model;
using Scoreboard.Model.Services;

namespace Scoreboard.Repository
{
	public class Module : IModule
	{
		private IUnityContainer _container;

		public Module(IUnityContainer container)
		{
			_container = container;
		}

		public void Initialize()
		{
			var context = new ScoreboardDomainContext();
			_container.RegisterInstance<ScoreboardDomainContext>(context);

			_container.RegisterType<ITournamentRepository, TournamentRepository>();
			_container.RegisterInstance<IUserRepository>(new UserRepository(context));
			_container.RegisterType<IGameRepository, GameRepository>();
		}
	}
}
